Всем известно, что в любом браузере присутствует функция создания закладок – ссылки на интересные ресурсы или материалы, которые нас заинтересовали. Это очень удобно.
Если вы хотите позволить своим пользователям создавать закладки на страницы в пределах вашего ресурса, представляем вам этот скрипт. Он значительно повысит удобство пребывания на сайте, а помимо этого вы сможете вывести количество пользователей добавивших в закладки прямо в материалах! Вот это действительно завершающий штрих, который частично напоминает функцию "социальных лайков".
Материал, который часто добавляют к себе посетители точно привлечёт внимание!
Автор скрипта – Ярослав Олейник, победивший в конкурсе реализации PHP скриптов.









<script type="text/javascript">
$(document).ready(function(){
$.ajaxSetup({cache: false});
function load_count(){
$.ajax({
type: 'GET',
url: '/php/favorite/favorite.php',
data: 'type=count&addr=$ENTRY_URL$&mid=$URI_ID$',
success: function(otvet){$('#favorite_user').html(otvet);}
});
}
load_count();
$('#add_to_favorite').click(function(){
$.ajax({
type: 'POST',
url: '/php/favorite/favorite.php',
data: 'type=add&addr=$ENTRY_URL$&mid=$URI_ID$&name=<?if($ENTRY_NAME$)?>$ENTRY_NAME$<?else?><?if($ENTRY_TITLE$)?>$ENTRY_TITLE$<?else?>$PHOTO_NAME$<?endif?><?endif?>',
success: function(otvet){load_count();
if(otvet==1){$('#favorite_otvet').html('<div class="alert alert-info">Добавлено в избранное</div>');}
if(otvet==2){$('#favorite_otvet').html('<div class="alert alert-success">Уже есть в избранном!</span><br><input type="button" id="$URI_ID$" value="Удалить">');}
if(otvet==3){$('#favorite_otvet').html('<div class="alert alert-danger">Память для избранного переполнена!</div>');}
if(otvet!=1 & otvet!=2 & otvet!=3){$('#favorite_otvet').html('<div class="alert alert-danger">Ошибка</div>');}
}
});
});
$('#favorite_otvet input').live('click', function(){
var mid = $(this).attr('id');
$.ajax({
type: 'POST',
url: '/php/favorite/favorite.php',
data: 'type=delete_one&mid='+mid+'',
success: function(otvet){if(otvet==1){load_count();$('#favorite_otvet').html('<div class="alert alert-danger">Удалено!</div>');}}
});
});
$('#favorite_list').live('click', function(){
new _uWnd('userava_online', 'В закладках', 200, 200,{close: 1,autosize: 0,resize: 0,shadow: 0,
oncontent: function(){$.get('/php/favorite/favorite.php?type=userlist&mid=$URI_ID$', function(data){$('#favorite_userlist').html(data);});}
},
'<table id="favorite_userlist" align="left" border="0"><tr><td><img src="/img/loading.gif"></td></tr></table>'
);
});
});
</script>
<?if($USER_LOGGED_IN$)?><input type="button" id="add_to_favorite" value="В избранное"><?endif?>
<div id="favorite_otvet"></div>
<div id="favorite_user"><img src="/img/loading.gif"></div>
и сохраните изменения.
<?if($_IS_OWN_PROFILE$)?>
<script type="text/javascript">
$(document).ready(function(){
$.ajaxSetup({cache: false});
$('#favorite_open').click(function(){
new _uWnd('sps', 'Ваши закладки', 250, 200,{close: 1,autosize: 0,resize: 0,shadow: 0,
oncontent: function(){
$.get('/php/favorite/favorite.php?type=view&suid=$_USER_ID$', function(otvet){
$('#favorite_block').html(otvet);
});
}
},
'<div id="favorite_block" style="text-align:left;"><img src="/img/loading.gif"></div> '
);
});
$('.favorite_delete').live('click', function(){
if(confirm('Удалить?')){
var mid = $(this).attr('mid');
$.ajax({
type: 'POST',
url: '/php/favorite/favorite.php',
data: 'type=delete_one&mid='+mid+'',
success: function(otvet){
if(otvet==1){
$('img[mid="'+mid+'"]').parent().html('Удалено!');
$('#favorite_count').html(parseInt($('#favorite_count').html())-1);
}
}
});
}
});
$('#favorite_delete_all').live('click', function(){
if(confirm('Удалить все записи?')){
$.ajax({
type: 'POST',
url: '/php/favorite/favorite.php',
data: 'type=delete_all',
success: function(otvet){
if(otvet==1){$('#favorite_block').html('Нет избранного.');}else{$('#favorite_block').html('Ошибка.'); }
}
});
}
});
});
</script>
<div class="udtb"><div class="udtlb">Закладки:</div><input type="button" id="favorite_open" value="Смотреть избранное"></div>
<?endif?>
.alert {
border: 1px solid rgba(0, 0, 0, 0);
border-radius: 4px;
margin-bottom: 20px;
padding: 15px 15px 15px 45px;
position: relative;
}
.alert:before {
position: absolute;
top: 50%;
left: 13px;
display: block;
margin-top: -8px;
width: 16px;
height: 16px;
background: url(/img/icon-er.png) no-repeat 0 0;
content: '';
}
.alert-info {
background-color: #D9EDF7;
border-color: #BCE8F1;
color: #31708F;
}
.alert-info:before {
background-position: 0 -16px;
}
.alert-warning {
border-color: #faebcc;
background-color: #fcf8e3;
color: #8a6d3b;
}
.alert-warning:before {
background-position: 0 -32px;
}
.alert-danger {
border-color: #ebccd1;
background-color: #f2dede;
color: #a94442;
}
.alert-danger:before {
background-position: 0 -48px;
}
.alert-success {
border-color: #d6e9c6;
background-color: #dff0d8;
color: #3c763d;
}
$max_col_fav — переменная отвечает за максимальное количество закладок (если нужно нелимитированное, указываем 0);$cache — переменная отвечает за режим работы скрипта (значение 1 – при выводе закладок данные получаються с API, 0 – вывод без API);$max_tlen — переменная отвечает за длинну заголовка материала (список закладок, персональная страница);$user_like — переменная отвечает за функцию вывода тех, кто добавил определенный материал в закладки (лайки), значение 1 – включено, 0 – выключено;$api_key — переменная отвечает за ключ базового API.